package pharao.domain;

import java.util.Collection;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;

@Entity
public class Übung {

	/**
	 * @uml.property  name="collectionAufgaben"
	 * @uml.associationEnd  multiplicity="(0 -1)" aggregation="composite" inverse="übung:pharao.domain.Aufgabe"
	 */
	private Collection<Aufgabe> collectionAufgaben;
	
	private int id;

	/**
	 * @uml.property  name="ort"
	 * @uml.associationEnd  inverse="collectionÜbung:pharao.domain.Ort"
	 */
	private Ort ort;

	/**
	 * @uml.property  name="tutorium"
	 * @uml.associationEnd  inverse="listÜbungen:pharao.domain.Tutorium"
	 */
	private Tutorium tutorium;

	/**
	 * Getter of the property <tt>collectionAufgaben</tt>
	 * @return  Returns the collectionAufgaben.
	 * @uml.property  name="collectionAufgaben"
	 */
	@OneToMany
	public Collection<Aufgabe> getCollectionAufgaben() {
		return collectionAufgaben;
	}

	@Id
	@GeneratedValue
	public int getId() {
		return id;
	}

	/**
	 * Getter of the property <tt>ort</tt>
	 * @return  Returns the ort.
	 * @uml.property  name="ort"
	 */
	@ManyToOne
	public Ort getOrt() {
		return ort;
	}

	/**
	 * Getter of the property <tt>tutorium</tt>
	 * @return  Returns the tutorium.
	 * @uml.property  name="tutorium"
	 */
	@ManyToOne
	public Tutorium getTutorium() {
		return tutorium;
	}

	/**
	 * Setter of the property <tt>collectionAufgaben</tt>
	 * @param collectionAufgaben  The collectionAufgaben to set.
	 * @uml.property  name="collectionAufgaben"
	 */
	public void setCollectionAufgaben(Collection<Aufgabe> collectionAufgaben) {
		this.collectionAufgaben = collectionAufgaben;
	}

	public void setId(int id) {
		this.id = id;
	}

	/**
	 * Setter of the property <tt>ort</tt>
	 * @param ort  The ort to set.
	 * @uml.property  name="ort"
	 */
	public void setOrt(Ort ort) {
		this.ort = ort;
	}

	/**
	 * Setter of the property <tt>tutorium</tt>
	 * @param tutorium  The tutorium to set.
	 * @uml.property  name="tutorium"
	 */
	public void setTutorium(Tutorium tutorium) {
		this.tutorium = tutorium;
	}

}
